5
תגובות
בעיה בAJAX
פתח
משתמש_91496
,
היי שלום לכולם,
יש לי תוכנית שאמורה להציג למסך את המילה "Eric" מתוך קובץ "Favorite_Word.xml"
על המסך יופיע שדה חיפוש עם הכנסת ערך לשדה החיפוש והרמת היד מהכפתור אמור להופיע המילה "Eric",
מאחר ואני לא מספיק משופשף בנושא יש לי קשיים בכתיבת התוכנית לפי דעתי התוכנית צריכה לעבוד
אבל היא לא.
אשמח לקבל את עזרתכם
תודה!
פרטי קובץ ה xml
************************
<?xml version="1.0"?>
<Favorite_Word xml:lang="EN">
<student>
<name>Eric</name>
<Age>33</Age>
</student>
</Favorite_Word>
יש לי תוכנית שאמורה להציג למסך את המילה "Eric" מתוך קובץ "Favorite_Word.xml"
על המסך יופיע שדה חיפוש עם הכנסת ערך לשדה החיפוש והרמת היד מהכפתור אמור להופיע המילה "Eric",
מאחר ואני לא מספיק משופשף בנושא יש לי קשיים בכתיבת התוכנית לפי דעתי התוכנית צריכה לעבוד
אבל היא לא.
אשמח לקבל את עזרתכם
תודה!
פרטי קובץ ה xml
************************
<?xml version="1.0"?>
<Favorite_Word xml:lang="EN">
<student>
<name>Eric</name>
<Age>33</Age>
</student>
</Favorite_Word>
<html>
<head>
<title>Compare words</title>
<link rel="stylesheet" rev="stylesheet" href="script.css" />
<script type="text/javascript">
var RequestWord = false;
var url = "Favorite_Word.xml";
window.onload = initAll;
function initAll() {
onkeyup = search;
}
function search()
{
getHTTPObject();
alert("There is RequestWord :=2");
if (RequestWord) {
RequestWord.onreadystatechange = setWord;
RequestWord.open("GET", url, true);
RequestWord.send(null);
alert("There is if RequestWord :=6");
}
else {
alert("Sorry, but I couldn't create an XMLHttpRequest");
}
}
function setWord() {
var Node1 = "student";
var Node2 = "name";
if (RequestWord.readyState == 4) {
if (RequestWord.status == 200) {
if (RequestWord.responseXML) {
var wordData = RequestWord.responseXML.getElementsByTagName(Node1);
alert("wordData:=" + wordData + ":=5 " );
var NewWord = wordData[i].getElementsByTagName(Node2)[0].firstChild.nodeValue;
alert("NewWord:=" + NewWord );
}
}
}
else {
alert("There was a problem with the request " + RequestWord.status + ":=3 4");
}
}
function getHTTPObject()
{
if (window.XMLHttpRequest) {
RequestWord = new XMLHttpRequest();
alert("There is getHTTPObject firefox:=1");
}
else {
if (window.ActiveXObject) {
try {
RequestWord = new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e) { }
}
}
}
</script>
</head>
<body>
<form action="#">
<h3>Please enter your word:</h3><br />
<input type="text" id="word" autocomplete="off" /><br />
</form>
</body>
</html>
<head>
<title>Compare words</title>
<link rel="stylesheet" rev="stylesheet" href="script.css" />
<script type="text/javascript">
var RequestWord = false;
var url = "Favorite_Word.xml";
window.onload = initAll;
function initAll() {
onkeyup = search;
}
function search()
{
getHTTPObject();
alert("There is RequestWord :=2");
if (RequestWord) {
RequestWord.onreadystatechange = setWord;
RequestWord.open("GET", url, true);
RequestWord.send(null);
alert("There is if RequestWord :=6");
}
else {
alert("Sorry, but I couldn't create an XMLHttpRequest");
}
}
function setWord() {
var Node1 = "student";
var Node2 = "name";
if (RequestWord.readyState == 4) {
if (RequestWord.status == 200) {
if (RequestWord.responseXML) {
var wordData = RequestWord.responseXML.getElementsByTagName(Node1);
alert("wordData:=" + wordData + ":=5 " );
var NewWord = wordData[i].getElementsByTagName(Node2)[0].firstChild.nodeValue;
alert("NewWord:=" + NewWord );
}
}
}
else {
alert("There was a problem with the request " + RequestWord.status + ":=3 4");
}
}
function getHTTPObject()
{
if (window.XMLHttpRequest) {
RequestWord = new XMLHttpRequest();
alert("There is getHTTPObject firefox:=1");
}
else {
if (window.ActiveXObject) {
try {
RequestWord = new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e) { }
}
}
}
</script>
</head>
<body>
<form action="#">
<h3>Please enter your word:</h3><br />
<input type="text" id="word" autocomplete="off" /><br />
</form>
</body>
</html>
5 תשובות
לא ברור לי מאיפה הופיע ה i
אבל ככה עובד:
פיירפוקס
wordData[0].getElementsByTagName(Node2)[0].textContent
אקספלורר
wordData[0].getElementsByTagName(Node2)[0].innerText
ענה
משתמש_91496
ב
23 לינואר 2012
#
קודם כל תודה!
יפה מאד שמצאת טעות ,
התאמצתי מאד כדי לגלות טעות ומה שהצלחתי לגלות תיקנתי וזה הקוד שאני מציג לאחר תיקון.
"firstChild.nodeValue" נועד על מנת לקרוא מקובץ xml את המילה "Eric"
לאחר שינוי הקוד לפי מה שרשמת לא מוצג ALERT בשם "Eric"
האם יתכן ש "RequestWord.readyState == 4" ב"function setWord" = ערך נמוך מ 4 ולכן התנאי לא מתקיים
ואז ה ALERT עם המילה "Eric" לא יופיע לעולם ?
ענה
משתמש_91496
ב
23 לינואר 2012
#
עובד שיחקת אותה
כל הכבוד
אין עליכם
ענה
משתמש_91496
ב
23 לינואר 2012
#
אבל איך עלית על ה "ן" הקטן הזה שמתחבה לו שם?